1. Field of the Invention
The present invention is related to schema management.
2. Description of the Related Art
Extensible markup language (XML) may be described as a language specification developed by the World Wide Web Consortium (W3C). XML allows creation of XML documents that provide data and format information. XML documents contain elements and attributes defined by the XML specification. An XML schema is a type of XML document that is used to assess the validity of “well-formed” elements and attributes in other XML documents. Each XML document is associated with at least one XML schema. For more information on schemas, see XML Schema Part 1: Structures. W3C Recommendation 2 May 2001 (http://www.w3.org/TR/xmlschema-1/).
There are many instances in which users and/or components use XML schemas. For example, XML databases, XML-relational databases, and XQuery processors access XML schemas for use in validating XML documents and elements. XQuery is a query language that uses the structure of XML to express queries across data. XML documents are validated to ensure that they are “well-formed” as defined by the XML specification. Additionally, XML databases and XML-relational databases associate with XML schemas for use in constraining XML documents or elements. Constraining refers to identifying whether an XML document fits a constraint. For example, if a folder or a column of a table is created to hold XML documents that are resumes, then a particular schema may be used to determine whether a particular XML document is a resume. Also, schema-specific XML parser generators access and associate with XML schemas for parser generation and usage. Moreover, general purpose XML parsers access XML schemas for use in validating XML documents.
Currently, there may be a large number of XML schemas associated with a larger number of XML documents for a particular system. Typically, a user or component needs to know which particular XML schema is needed for processing (e.g., for validating an XML document). With so many XML schemas and XML documents, it is difficult for users and components to know which XML schema to access for a particular XML document.
An XML namespace is a collection of element type and attribute names that are uniquely identified by the name of the unique XML namespace of which they are a part. For example, in an XML document, any element type or attribute name can have a two-part name consisting of the name of its namespace and then its local name. Also, several schemas may share a namespace. Currently, an XML document may describe an XML namespace of its associated XML schema, but because a namespace may imply multiple XML schemas, the namespace alone may not identify a desired XML schema.
Moreover, an XML document may include a statement that declares a namespace and a Uniform Resource Identifier (URI) that identifies a point of content, but the URI does not necessarily provide the physical location of the XML schema. Therefore, such a statement may not be useful in identifying a specific XML schema. Thus, again, a user or component needs to know which XML schema is required.
An XML schema is a logical entity, and, management of XML schemas requires more than managing XML schema documents associated with the XML schema. Also, because XML schemas are not managed in conventional systems, it is difficult to identify a particular XML schema in conventional systems. Thus, there is a need in the art to improve schema management, for example, for XML schemas.